Редактор встроенного языка

Редактор встроенного языка позволяет вам редактировать модули конфигурации.

Этот редактор нельзя открыть сам по себе. Он открывается в контексте редактирования конфигурации, когда вы открываете тот или иной модуль. Кроме этого редактор встроенного языка открывается и в других сценариях работы, связанных с переходом к некоторой строке исходного текста.

Области редактора

Окно редактора содержит несколько функциональных областей:

Вертикальная линейка

Вертикальная линейка прокручивается вместе с текстом модуля и показывает информацию, связанную со строками модуля, отображаемыми на экране:

Область редактирования

Область редактирования показывает:

Линейка обзора

Линейка обзора не прокручивается, она представляет собой весь модуль целиком. Положение маркеров на линейке обзора соответствует их относительному положению в модуле. Маркеры обозначают те же сущности, что и в вертикальной линейке: предупреждения, ошибки, задачи, закладки и т.д. При наведении мыши на маркер показывается текстовое описание, а при нажатии — переход к отмеченной строке. Значок в верхней части панели показывает наибольшую степень критичности ошибок и предупреждений, имеющихся в модуле.

Условные обозначения

Клики мышью и перетаскивание

  • Вертикальная линейка
    • Наведение мыши на значок предупреждения , ошибки , точки останова , задачи или закладки показывает текстовое описание этого элемента во всплывающей подсказке;
    • Одиночный клик на значке предупреждения или ошибки может открыть окно быстрого исправления, если у 1C:EDT есть варианты автоматического исправления;
    • Двойной клик добавляет или удаляет точку останова;
    • Перетаскивание в области номеров строк выделяет диапазон строк;
  • Линейка обзора
    • Наведение мыши на маркер показывает текстовое описание маркера во всплывающий подсказке;
    • Одиночный клик на маркере показывает в редакторе отмеченную строку;
    • Одиночный клик показывает в редакторе фрагмент модуля, местоположение которого примерно соответствует указанному;

Цветовое оформление встроенного языка

Синтаксические конструкции встроенного языка выделяются разным цветом. Это облегчает чтение текста программы.

Существует стандартный набор цветов, которыми выделяются синтаксические конструкции. Чтобы изменить цвета нажмите Параметры... в контекстном меню области редактирования. Затем откройте группу параметров Подсветка синтаксиса.

Также можно открыть эти настройки из главного меню основного окна, нажав Окно > Параметры... > V8 > Встроенный язык > Подсветка синтаксиса.

Контекстное меню вертикальной линейки

  • Отключить точку остановавключает точку останова в выбранной строке. Во время отладки 1C:EDT не будет анализировать эту точку и не будет останавливать исполнение программы;
  • Включить точку остановавключает точку останова, которая находится в выбранной строке и была выключена ранее. Во время отладки 1C:EDT будет анализировать эту точку и, при необходимости, останавливать исполнение программы;
  • Точка остановадобавляет безусловную точку останова или удаляет точку останова, которая существует в этой строке;
  • Добавить закладку...добавляет закладку, связанную с выбранной строкой модуля;
  • Удалить закладкуудаляет закладку, связанную с текущей строкой модуля;
  • Добавить задачу...добавляет задачу; Задача будет связана с выбранной строкой модуля;
  • Удалить задачуудаляет задачу, связанную с текущей строкой модуля;
  • Замер производительностиподменю содержит следующие команды:
    • Показать результаты замеровесли флажок установлен, то в вертикальной линейке 1C:EDT показывает результаты замера производительности. Если сброшен — не показывает;
    • Показывать устаревшие результатыпосле выполнения замера производительности можно изменить строку, которая участвовала в замере. В этом случае результат замера, показываемый в этой строке, станет неактуальным. Если флажок Показывать устаревшие результаты установлен, результат замера, ставший неактуальным, будет выделен серым цветом текста. Если флажок сброшен - неактуальный результат замера будет скрыт;
  • Показывать быстрые отличияесли флажок установлен, то в вертикальной линейке 1C:EDT показывает быстрые отличия. Если снят — не показывает;
  • Показать информацию о редакциипоказывает информацию о ревизии в вертикальной линейке редактора. Можно настроить цветовое оформление и состав информации в подменю Ревизии.
  • Ревизииподменю содержит следующие команды:
    • Скрыть информацию о ревизиискрывает в вертикальной линейке информацию о ревизии;
    • Цвет по датеболее новые коммиты выделяются более темным фоном;
    • Цвет по авторуизменения, внесенные каждым автором, выделяются собственным цветом фона;
    • Комбинированная раскраскаизменения, внесенные каждым автором, выделяются собственным цветом фона. Более новые коммиты выделяются более темным фоном;
    • Показать автораесли флажок установлен, в вертикальной линейке показывается имя автора коммита.
    • Показать Idесли флажок установлен, в вертикальной линейке показывается имя автора коммита.
  • Показывать номера строкесли флажок установлен, в вертикальной линейке будут показаны номера строк модуля. Если флажок снят - номера строк показаны не будут;
  • Свертывание подменю содержит следующие команды:
    • Включить свертываниеесли флажок установлен, синтаксические конструкции группируются и сворачиваются. Если флажок снят — группировки и сворачивание не используются. Можно настроить, какие конструкции будут группироваться и какие конструкции будут сворачиваться. Это можно сделать на странице параметров Сворачивание/Отображение участка кода;
    • Развернуть всеразворачивает все группировки синтаксических конструкций;
    • Свернуть всесворачивает все группировки синтаксических конструкций;
    • Сбросить структурувозвращает настройки группировки синтаксических конструкций к стандартному состоянию. Аналогична нажатию Восстановить значения по умолчанию на странице параметров Сворачивание/Отображение участка кода;
  • Параметры...можно настроить следующие группы параметров: Подсветка синтаксиса и Встроенный язык - Шаблоны;
  • Свойства точки останова...открывает диалог, который позволяет вам изменить свойства точки останова, например, количество попаданий и условие остановки;

Контекстное меню области редактирования

  • Отменить:отменяет последнее действие. Содержание действия показывается после названия команды;
  • Вернуть файлотменяет все изменения, выполненные с момента последнего сохранения файла;
  • Сохранитьсохраняет изменения, выполненные в файле;
  • Открыть вподменю содержит команды, которые позволяют вам открыть модуль с помощью других редакторов, которые существуют в 1C:EDT или установлены на компьютере;
  • Показать вподменю содержит команды, которые позволяют вам отрыть редактируемый файл в проводнике операционной системы или посмотреть свойства объекта конфигурации, которому принадлежит этот модуль;
  • Перейти к определениюпереходит к определению переменной или метода, на имени которого находится курсор. Вернуться обратно можно, нажав Назад к в командной панели основного окна;
  • Показать иерархию вызововоткрывает панель Иерархия вызовов и показывает в ней вызывающую или вызываемую иерархию методов, по отношению к выделенному методу;
  • Открыть в синтакс-помощникеоткрывает панель Синтакс-помощник, у которой в окне справки будет показана справочная информация по выделенному методу или свойству;
  • Быстрая схема модуляпоказывает быструю схему модуля;
  • Поиск ссылокоткрывает панель Поиск и показывает в ней вызывающую иерархию методов и объектов конфигурации по отношению к методу, который выделен в панели;
  • Вырезатькопирует выделенный текст в буфер обмена и удаляет его из модуля;
  • Копироватькопирует выделенный текст в буфер обмена;
  • Вставить вставляет текст из буфера обмена в модуль;
  • Добавить обработчик событияоткрывает диалог «Добавить обработчик события». Шаблон обработчика события добавляется после того метода, в котором находится курсор;
  • Источник подменю содержит следующие команды:
    • Генерировать комментарии к методусоздает шаблон комментариев для процедуры или функции, внутри которой находится курсор или определение которой следует за строкой, в которой находится курсор. В этом шаблоне фрагменты, предназначенные для ввода поясняющего текста, выделяются маркерами;
    • Добавить аннотацию для пропуска предупрежденийэта команда полезна для тех строк, для которых проверка конфигурации показала предупреждение . Команда вставляет служебный комментарий перед строкой, в которой находится курсор (если это исполняемый оператор) или перед следующей строкой, содержащий исполняемый оператор (если курсор находится в пустой строке). Этот комментарий исключает строку из результатов проверки и предупреждение исчезает;
    • Создать шаблон кода — добавляет новый шаблон кода. Выделенный текст вставляет в поле Шаблон;
    • Включить строгую типизацию (@strict-types) в модуляхв модулях, принадлежащих выделенным веткам конфигурации, включает строгую типизацию путем добавления аннотации //@strict-types в начало модулей;
    • Переключить комментарийустанавливает комментарии на выделенные строки или снимает их (как выделить диапазон строк);
    • Форматформатирует все модули в соответствии с настройками форматирования;
    • Помощь по контентуоткрывает контекстную подсказку;
  • Рефакторингподменю содержит следующие команды:
    • Переименоватьначинает переименование переменной, процедуры или функции, на имени которой находится курсор. Видимые вхождения отмечаются маркерами. После изменения значения в любом маркере можно нажать Enter, и переименование будет выполнено во всех модулях, в которых используется эта переменная, процедура или функция;
    • Извлечь локальную переменную...открывает диалог извлечения локальной переменной;
    • Извлечь метод...открывает диалог извлечения метода;
  • Окружитьподменю содержит следующие команды:
    • #Область...окружает выделенные строки модуля инструкциями препроцессора #Область ... #КонецОбласти. После вставки инструкций фрагмент, предназначенный для ввода имени области, выделяется маркером;
  • Быстрое исправлениеоткрывает окно быстрого исправления, если текущая строка отмечена предупреждением или ошибкой , для которых у 1C:EDT имеются варианты исправления;
  • Редактор запроса...открывает редактор запроса и вставляет результат в позицию курсора. Если курсор уже находится внутри текста запроса, то текст запроса загружается в редактор, а результат редактирования замещает имеющийся в модуле текст запроса;
  • Добавить метод в расширение
    заимствует текущий модуль, при необходимости заимствует объект конфигурации, которому принадлежит модуль, и создает расширяющий обработчик события.
    Возможная проблема: На момент выполнения этой команды должно существовать расширение, связанное с данным проектом. Если с проектом связано несколько расширений, 1C:EDT предложит вам выбрать одно из расширений.
  • Конструктор форматной строки...открывает конструктор форматной строки и вставляет результат конструирования в позицию курсора или вместо выделенного текста. Если курсор уже находится внутри форматной строки, то она загружается в конструктор для редактирования, а результат редактирования замещает имеющуюся в модуле строку;
  • Конструктор строк на разных языках...открывает конструктор строк на разных языках и вставляет результат конструирования в позицию курсора или вместо выделенного текста. Если курсор уже находится внутри «многоязычной» строки, то она загружается в конструктор для редактирования, а результат редактирования замещает имеющуюся в модуле строку;
  • Конструктор запроса...открывает конструктор запроса и вставляет результат конструирования в позицию курсора или вместо выделенного текста. Если курсор уже находится внутри текста запроса, то текст запроса загружается в конструктор для редактирования, а результат редактирования замещает имеющийся в модуле текст запроса;
  • Конструктор запроса с обработкой результата...открывает конструктор запроса с обработкой результата и вставляет результат конструирования в позицию курсора или вместо выделенного текста. Если курсор уже находится внутри текста запроса, то текст запроса загружается в конструктор для редактирования, а результат редактирования замещает имеющийся в модуле текст запроса;
  • Проверитьвыполняет полную проверку модуля, аналогичную той, которая выполняется при открытии или редактировании модуля. Эта команда может быть полезна в тех случаях, когда ошибки в модуле вызваны «внешними» по отношению к нему факторами. Например, в модуле есть ошибки, связанные с отсутствием в конфигурации нужных пакетов XDTO. Вы добавили нужные пакеты, но ошибки модуля автоматически не исчезли. Тогда можно выполнить эту команду и модуль будет проверен заново;
  • Наблюдение — Эта команда активна во время отладки после остановки на точке останова. помещает переменную в панель Выражения — ее значение будет отслеживаться при пошаговой отладке. В панели Выражения можно отредактировать отслеживаемое выражение и, например, вместо переменной ДатаВыполнения отслеживать НачалоМесяца(ДатаВыполнения);
  • Инспектировать — Эта команда активна во время отладки после остановки на точке останова. вычисляет выделенное выражение. Результат вычисления показывается во всплывающем окне. Комбинацией клавиш Shift+F9 можно добавить это выражение в панель Выражения;
  • Групповая разработкаподменю содержит следующие команды:
    • Фиксировать (commit)...фиксирует изменения проекта в локальном репозитории;
    • Репозиторийподменю содержит следующие команды:
      • Отправить в Upstreamотправляет изменения в удаленный репозиторий с именем origin;
      • Получить из Upstreamполучает изменения из исходного репозитория, из удаленной ветки, связанной с локальной веткой;
      • Отправить ветку 'имя ветки'...отправляет выбранную ветку в удаленный репозиторий. При этом можно выбрать репозиторий или создать новый, выбрать отправляемую ветку, а также настроить для нее конфигурации отправки и получения изменений из удаленного репозитория;
      • Получить и слить (pull)получает изменения из исходного репозитория и вливает их в текущую ветку;
      • Переключить напереключает проект на другую ветку. Во вложенном меню для выбора предлагаются локальные ветки текущего репозитория, а также создание новой ветки и выбор из других элементов репозитория (ветки удаленного отслеживания, метки и др.);
    • Расширенные возможностиподменю содержит следующие команды:
      • Считать неизмененным (+assume-unchanged)отмечает файл как Assume Unchanged;
      • Вернуть отслеживание файла (-assume-unchanged)снимает отметку файла как Assume Unchanged;
      • Удалить из под версионного контроляудаляет объект из системы контроля версий Git, оставляя его в рабочем каталоге;
      • Синхронизировать рабочую областьсинхронизирует рабочий каталог с удаленным репозиторием. Для этого используется перспектива Синхронизация совместной работы;
      • Создать патч...создает патч;
      • Игнорировать (git ignore)добавляет файл в .gitignore, так что Git игнорирует его (подробнее на английском языке);
      • Показать в панели Репозитории Gitоткрывает проект в панели Репозитории Git;
      • Отключить интеграцию Gitотключает всех Git Team провайдеров от этого проекта. Репозиторий Git продолжает существовать, но 1C:EDT с ним больше не взаимодействует;
    • Показать локальную историюоткрывает панель История и показывает в ней локальную историю изменения модуля;
    • Показать Историюоткрывает панель История и показывает в ней ресурсы текущего репозитория;
    • Показать информацию о редакциипоказывает информацию о ревизии в вертикальной линейке редактора. Можно настроить цветовое оформление и состав информации в подменю Ревизии.
  • Сравнитьподменю содержит следующие команды:
    • Локальная история...открывает панель История для выбора одной из предыдущих локальных версий файла. После выбора сравнивает с ней текущую версию в редакторе сравнения и объединения модулей;
    • HEAD-ревизияНе используется при разработке приложений «1С:Предприятия». Сравнивает этот ресурс в рабочем каталоге и в последнем коммите;
    • ИндексНе используется при разработке приложений «1С:Предприятия». сравнивает этот ресурс в рабочем каталоге и в индексе;
    • Предыдущая ревизияНе используется при разработке приложений «1С:Предприятия». Сравнивает этот ресурс с предыдущим коммитом.
    • Ветка, метка или ссылка...Не используется при разработке приложений «1С:Предприятия». Сравнивает рабочий каталог с выбранной веткой, меткой или ссылкой;
    • Коммит...Не используется при разработке приложений «1С:Предприятия». Сравнивает рабочий каталог с выбранным коммитом;
  • Заменить наподменю содержит следующие команды:
    • HEAD-ревизиязаменяет рабочий каталог последним коммитом;
    • Индексзаменяет рабочий каталог индексом;
    • Предыдущая ревизиязаменяет рабочий каталог предыдущей ревизией;
    • Ветка, метка или ссылка...заменяет рабочий каталог веткой, меткой или ссылкой;
    • Коммит...заменяет рабочий каталог выбранным коммитом;
  • Параметры... — Можно настроить группы параметров: «Встроенный язык - Шаблоны» и «Подсветка синтаксиса»;

Контекстное меню линейки обзора

  • Параметры...можно настроить следующие группы параметров: Аннотации, Выделение изменений и Специальные возможности;